package control;

import java.io.Serializable;
import java.util.List;

import javax.ejb.EJB;
import javax.enterprise.context.SessionScoped;
import javax.inject.Inject;
import javax.inject.Named;

import service.ProjetoService;
import service.RecursoService;
import entity.Recurso;

@Named
@SessionScoped
public class ManterRecursosProjetoControl implements Serializable {
	private static final long serialVersionUID = -5382145717647084268L;
	@Inject
	private MenuControl menu;
	
	@EJB
	private RecursoService recursoService;
	
	@EJB
	private ProjetoService projetoService;
	
	private List<Recurso> recursosDoProjeto;
	private List<Recurso> recursosNaoVinculados;
	
	private Integer idRecursoSelecionado;
	
	public String iniciar() {
		recursosDoProjeto = recursoService.listarRecursosDoProjeto(menu.getIdProjetoSelecionado());
		
		return "/pages/projeto/listar_recursos_projeto";
	}
	
	public String listarRecursosNaoVinculados() {
		recursosNaoVinculados = recursoService.listarRecursosNaoVinculadosAoProjeto(menu.getIdProjetoSelecionado());
		
		return "";
	}
	
	public String adicionarRecurso() {
		projetoService.adicionarRecursoAoProjeto(idRecursoSelecionado, menu.getIdProjetoSelecionado());
		recursosDoProjeto = recursoService.listarRecursosDoProjeto(menu.getIdProjetoSelecionado());
		
		return "";
	}
	
	public String removerRecurso() {
		projetoService.removerRecursoDoProjeto(idRecursoSelecionado, menu.getIdProjetoSelecionado());
		
		return iniciar();
	}
	
	public List<Recurso> getRecursosDoProjeto() {
		return recursosDoProjeto;
	}

	public List<Recurso> getRecursosNaoVinculados() {
		return recursosNaoVinculados;
	}

	public Integer getIdRecursoSelecionado() {
		return idRecursoSelecionado;
	}

	public void setIdRecursoSelecionado(Integer idRecursoSelecionado) {
		this.idRecursoSelecionado = idRecursoSelecionado;
	}
}
